package com.ruoyi.project.module.wtc.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;

import java.util.Date;

public class OpenAccount {
    /** 序号 */
    @Excel(name = "序号")
    private String id;

    /** 卡号 */
    @Excel(name = "卡号")
    private String cardNumber;

    /** 会员柜号 */
    @Excel(name = "会员柜号")
    private String memberCounterNumber;

    /** 类型 */
    @Excel(name = "类型",readConverterExp = "0=储值卡,1=次卡")
    private String type;

    /** 卡性质 */
    @Excel(name = "卡性质",readConverterExp = "0=一卡通,1=三倍卡,2=会员优惠卡,3=次卡,4=游泳学员卡,990=小计,991=收款总计,992=现金,993=银行卡,994=办卡总计,995=续款总计")
    private String cardNature;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 赠送 */
    @Excel(name = "赠送")
    private String giftCardSign;

    /** 存款金额 */
    @Excel(name = "存款金额")
    private String actualAmount;

    /** 消费金额 */
    @Excel(name = "消费金额")
    private String consumptionValue;

    /** 结账方式 */
    @Excel(name = "结账方式")
    private String CheckoutMethod;

    /** 卡余额 */
    @Excel(name = "卡余额")
    private String residualAmount;

    /** 交易时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "交易时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date accountOpeningTime;

    public OpenAccount() {
    }

    public OpenAccount(String cardNumber, String memberCounterNumber, String type, String cardNature, String name, String giftCardSign, String actualAmount, String consumptionValue, String checkoutMethod, String residualAmount, Date accountOpeningTime) {
        this.cardNumber = cardNumber;
        this.memberCounterNumber = memberCounterNumber;
        this.type = type;
        this.cardNature = cardNature;
        this.name = name;
        this.giftCardSign = giftCardSign;
        this.actualAmount = actualAmount;
        this.consumptionValue = consumptionValue;
        CheckoutMethod = checkoutMethod;
        this.residualAmount = residualAmount;
        this.accountOpeningTime = accountOpeningTime;
    }

    public String getId() {
        return id;
    }

    public OpenAccount setId(String id) {
        this.id = id;
        return this;
    }

    public String getCardNumber() {
        return cardNumber;
    }

    public OpenAccount setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
        return this;
    }

    public String getMemberCounterNumber() {
        return memberCounterNumber;
    }

    public OpenAccount setMemberCounterNumber(String memberCounterNumber) {
        this.memberCounterNumber = memberCounterNumber;
        return this;
    }

    public String getType() {
        return type;
    }

    public OpenAccount setType(String type) {
        this.type = type;
        return this;
    }

    public String getCardNature() {
        return cardNature;
    }

    public OpenAccount setCardNature(String cardNature) {
        this.cardNature = cardNature;
        return this;
    }

    public String getName() {
        return name;
    }

    public OpenAccount setName(String name) {
        this.name = name;
        return this;
    }

    public String getGiftCardSign() {
        return giftCardSign;
    }

    public OpenAccount setGiftCardSign(String giftCardSign) {
        this.giftCardSign = giftCardSign;
        return this;
    }

    public String getActualAmount() {
        return actualAmount;
    }

    public OpenAccount setActualAmount(String actualAmount) {
        this.actualAmount = actualAmount;
        return this;
    }

    public String getConsumptionValue() {
        return consumptionValue;
    }

    public OpenAccount setConsumptionValue(String consumptionValue) {
        this.consumptionValue = consumptionValue;
        return this;
    }

    public String getCheckoutMethod() {
        return CheckoutMethod;
    }

    public OpenAccount setCheckoutMethod(String checkoutMethod) {
        CheckoutMethod = checkoutMethod;
        return this;
    }

    public String getResidualAmount() {
        return residualAmount;
    }

    public OpenAccount setResidualAmount(String residualAmount) {
        this.residualAmount = residualAmount;
        return this;
    }

    public Date getAccountOpeningTime() {
        return accountOpeningTime;
    }

    public OpenAccount setAccountOpeningTime(Date accountOpeningTime) {
        this.accountOpeningTime = accountOpeningTime;
        return this;
    }

    @Override
    public String toString() {
        return "openAccount{" +
                "cardNumber='" + cardNumber + '\'' +
                ", memberCounterNumber='" + memberCounterNumber + '\'' +
                ", type='" + type + '\'' +
                ", cardNature='" + cardNature + '\'' +
                ", name='" + name + '\'' +
                ", giftCardSign='" + giftCardSign + '\'' +
                ", actualAmount=" + actualAmount +
                ", consumptionValue=" + consumptionValue +
                ", CheckoutMethod='" + CheckoutMethod + '\'' +
                ", residualAmount=" + residualAmount +
                ", accountOpeningTime=" + accountOpeningTime +
                '}';
    }
}
